package com.hzlj.position.config.service;

import com.hzlj.position.config.common.dto.noticeConfig.InitiativeNoticeExtDTO;
import com.hzlj.position.config.common.dto.noticeConfig.InspectionNoticeExtDTO;
import com.hzlj.position.config.common.dto.noticeConfig.NoticeConfigQueryResultDTO;

/**
 * 通知配置(NoticeConfig)表服务接口
 *
 * @author lifh
 * @date 2023-07-18 12:01:39
 */
public interface NoticeConfigService {
    /**
     * 查询单条数据
     */
    NoticeConfigQueryResultDTO getNoticeConfigByJgCode(String jgCode);

    /**
     * 纠偏
     */
    boolean correctNotice(String jgCode);

    /**
     * 是否需要异常通知-矫正人员
     */
    boolean warningJzryNotice(String jgCode, String warningType);

    /**
     * 是否需要异常通知-工作人员
     */
    boolean warningGzryNotice(String jgCode, String warningType);

    /**
     * 自动核查最大延迟时间
     */
    int reportAutoDelayMinutes(String jgCode);
    /**
     * 人工核查最大延迟时间
     */
    int reportArtificialDelayMinutes(String jgCode);
    /**
     * 位置确认最大延迟时间
     */
    int trackCheckDelayMinutes(String jgCode);
    /**
     * 位置纠偏最大延迟时间
     */
    int correctDelayMinutes(String jgCode);
    /**
     * 运营商异常最大延迟时间
     */
    int positionCheckDelayMinutes(String jgCode);

    /**
     * 默认消息通知角色，多个用，隔开
     */
    String defaultMessageNoticeAuths(String jgCode);
    /**
     * 人脸签到配置
     */
    InitiativeNoticeExtDTO initiativeNotices(String jgCode);
    /**
     * 核验签到配置
     */
    InspectionNoticeExtDTO inspectionNotices(String jgCode);
}
